A user interface can be used to view data in a variety of ways. However, known user interfaces used for viewing data can be insufficient to view data and the relationships between elements of the data without losing context. For example, although known user interfaces can be used to view portions of hierarchical data using various functions such as zoom in, zoom out, expand/contract, etc., a user viewing the hierarchical data through these known user interfaces can lose the context of the data because of the size and complexity of the hierarchical data, especially when nodes can have zero to many children (e.g., unbalanced trees). Moreover, navigating a large tree via expand and contract controls can be cumbersome.